#pragma once

#include "Component.h"
#include "Rect.h"

namespace game_engine { namespace components
{

/*!
 * \class BoxCollider
 * \brief 
 */
class BoxCollider : public Component
{
///////////////////////////////////////////////////////////////////////////////
// Attribute definition
///////////////////////////////////////////////////////////////////////////////
private:
    utils::Size boxSize;

///////////////////////////////////////////////////////////////////////////////
// Method definition
///////////////////////////////////////////////////////////////////////////////
public:
    // Constructors and Destructors
    BoxCollider(void);
    BoxCollider(GameObject *obj, const utils::Size &size);
    virtual ~BoxCollider(void);

    // Getters
    const utils::Size& getBoxSize(void) const;
    const utils::Rect getCollider(const utils::Point &position) const;

    // Setters
    void setBoxSize(const utils::Size &size);

};

}}

